-- Do not manually edit this file, it was auto-generated by dillonkearns/elm-graphql
-- https://github.com/dillonkearns/elm-graphql


module Qore.Object.Userestrict exposing (..)

import Graphql.Internal.Builder.Argument as Argument exposing (Argument)
import Graphql.Internal.Builder.Object as Object
import Graphql.Internal.Encode as Encode exposing (Value)
import Graphql.Operation exposing (RootMutation, RootQuery, RootSubscription)
import Graphql.OptionalArgument exposing (OptionalArgument(..))
import Graphql.SelectionSet exposing (SelectionSet)
import Json.Decode as Decode
import Qore.InputObject
import Qore.Interface
import Qore.Object
import Qore.Scalar
import Qore.ScalarCodecs
import Qore.Union


head : SelectionSet decodesTo Qore.Object.Head -> SelectionSet (Maybe decodesTo) Qore.Object.Userestrict
head object_ =
    Object.selectionForCompositeField "head" [] object_ (identity >> Decode.nullable)


userestrictoption : SelectionSet decodesTo Qore.Union.UserestrictOptionUnion -> SelectionSet (List decodesTo) Qore.Object.Userestrict
userestrictoption object_ =
    Object.selectionForCompositeField "userestrictoption" [] object_ (identity >> Decode.list)


id : SelectionSet (Maybe String) Qore.Object.Userestrict
id =
    Object.selectionForField "(Maybe String)" "id" [] (Decode.string |> Decode.nullable)


altrender : SelectionSet (Maybe String) Qore.Object.Userestrict
altrender =
    Object.selectionForField "(Maybe String)" "altrender" [] (Decode.string |> Decode.nullable)


audience : SelectionSet (Maybe String) Qore.Object.Userestrict
audience =
    Object.selectionForField "(Maybe String)" "audience" [] (Decode.string |> Decode.nullable)


lang : SelectionSet (Maybe String) Qore.Object.Userestrict
lang =
    Object.selectionForField "(Maybe String)" "lang" [] (Decode.string |> Decode.nullable)


script : SelectionSet (Maybe String) Qore.Object.Userestrict
script =
    Object.selectionForField "(Maybe String)" "script" [] (Decode.string |> Decode.nullable)


encodinganalog : SelectionSet (Maybe String) Qore.Object.Userestrict
encodinganalog =
    Object.selectionForField "(Maybe String)" "encodinganalog" [] (Decode.string |> Decode.nullable)


localtype : SelectionSet (Maybe String) Qore.Object.Userestrict
localtype =
    Object.selectionForField "(Maybe String)" "localtype" [] (Decode.string |> Decode.nullable)
